#include <stdio.h>
#include <stdlib.h>
//树和森林的遍历

//树的遍历
/*
1、先根遍历
遍历结果和将其转换为二叉树先序遍历结果相同
void PreOrder(TreeNode *R){
    if(R!=NULL){
        vist(R);
        while(R还有下一个子树T)
            PreOrder(T);
    }
}
*/

/*
2、后根遍历
遍历结果和将其转换为二叉树中序遍历结果相同
void PostOrder(TreeNode *R){
    if(R!=NULL){
        while(R还有下一个子树T)
            PreOrder(T);
        vist(R);       
    }
}
*/

/*
3、层次遍历
借助辅助队列
（1）若树非空，根结点入队
（2）若队列非空，队头元素出队并访问，同时将其孩子一次入队
（3）重复（2）直到队列为空
*/


//森林的遍历
/*
1、先序遍历森林
效果等同于依次对各个树进行先根遍历

若森林非空：
访问森林中第一课树的根结点
先序遍历第一个数中根结点的子树林
先序遍历出去第一颗树之后的树构成的森林

2、中序遍历森林
效果等同于依次对各个树进行后根遍历
若森林为非空，则按如下规则进行遍历:
中序遍历森林中第一棵树的根结点的子树森林。
访问第一棵树的根结点。
中序遍历除去第一棵树之后剩余的树构成的森林。


*/

int main()
{
    printf("\n\n========================================================================\n\n");

    printf("\n\n========================================================================\n\n");
    return 0;
}